#include <iostream>

using namespace std;

class A {
 private:
  int data;

 public:
  // 默认构造
  A() : data(0) {}
  // 初始化构造
  A(int data = 0) : data(data) {}
  // 拷贝构造
  A(const A &a) : data(a.data) {}
  // 移动构造
  A(A &&a) : data(a.data) { a.data = 0; }
  // 委托构造 (委托给其他构造函数)
  A(char c, int i) : A(5) {}
  // 转换构造
  A(char c) { this->data = c == 'A' ? 1 : 2; }

  ~A() {}
};

int main(int argc, char const *argv[]) {
  cout << endl;
  return 0;
}
